Python-Bibliothek für Cuda-X beschleunigt Berechnungen von Matrizen und Vektoren
Pyhton-Projekte können mit der neuen Nvidia-Bibliothek für Cuda-X schnelle algebraische Berechnungen bei geringem Overhead ausführen.
Nvidia hat eine neue mathematische, auf Cuda-X spezialisierte Python-Bibliothek veröffentlicht. Sie bietet unmittelbaren, python-mäßigen Zugriff auf die mathematischen Kernoperationen von Cuda-X, ohne zusätzliche C/C++-Bibliotheken nutzen zu müssen. Das dient der Entwicklung von hardwarebeschleunigten Anwendungen, Bibliotheken, Frameworks oder Deep-Learning-Compilern.
An mathematischen Funktionen unterstützt nvmath-python insbesondere Lineare Algebra und n-dimensionale, diskrete Fourier-Transformationen. Nvidia verspricht für diese Berechnungen eine sehr gute Performance, die nahe an die der nativen C-Bibliotheken heranreichen soll. Der Overhead ist dabei minimalisiert und erlaubt beispielsweise die Zusammenfassung mehrerer Kerne (kernal fusion) ohne extra Host.
Die Bibliothek ist noch beta, steht unter Apache-2-Lizenz und bietet zustandslose (Funktionsstil) oder zustandsbehaftete (Klassenstil) APIs. Sie integriert sich in die Standard-Logger-Bibliothek, um die Details der Berechnungen nachvollziehen zu können. In Kombination mit Python-Compilern wie Numba lassen sich Geräte-Callbacks erzeugen, die das Verhalten von nvmath-python selbst anpassen.
Laut Nvidia kooperiert nvmath nahtlos mit dem Python-Ökosystem, sowohl mit anderen GPU-orientierten Paketen wie CuPy, PyTorch oder RAPIDS, als auch mit CPU-Bibliotheken wie SciPy, scikit-learn oder NumPy. Von letzterem ist vor Kurzem ebenfalls eine neue Major-Version erschienen.
Weitere Informationen zu nvmath-python finden sich auf der Webseite des Projekts, bei GitHub oder in einem Demo-Video.
(who)